// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 云函数入口函数
exports.main = async (event, context) => {
  const {
    OPENID
  } = cloud.getWXContext()

  // 获取前端传进来的头像和用户名
  const {
    avatarUrl,
    nickName
  } = event;

  // 初始化集合
  const db = cloud.database();

  // 连接集合
  const userInfo = db.collection('userInfo')

  // 向表userInfo添加数据

  // 判断用户是否注册，没有则注册并返回数据，有则登录并返回数据
  const {
    data
  } = await userInfo.where({
    _openId: OPENID
  }).get()


  if (data.length === 0) {
    // 1、用户没有注册，走注册流程
    const {
      _id
    } = await userInfo.add({
      data: {
        _openId: OPENID,
        avatarUrl,
        nickName,
        overdue: 0,
        integral: 0,
        borrowed: []
      }
    })

    const user = await userInfo.doc(_id).get()
    return {
      data: user.data
    }

  } else {
    // 2、用户已经注册，走登录流程
    return {
      data: data[0]
    }
  }


}